Segmented digital-to-analog converter having weighted current sources

ABSTRACT

A digital input to a digital-to-analog converter (DAC) is divided into a most significant portion and a lesser significant portion. At least one tap voltage generator generates a plurality of voltages, preferably using a resistor string. A decoder decodes at least one sub-word that forms the lesser significant portion to generate a corresponding at least one control signal. A switching unit accesses voltages generated by the at least one tap voltage generator in response to the at least one control signal. A scaled current generator generates a respective weighted current from each accessed voltage. An output stage combines all the weighted currents with a voltage that is an analog representation of the most significant portion of the digital input to generate an analog approximation of the entire digital input.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit, under 35 U.S.C. §119(e), of U.S. Provisional Patent Application No. 61/642,657, filed on May 4, 2012, the content of which is hereby incorporated by reference in its entirety.

BACKGROUND INFORMATION

One form of Digital-to-Analog Converter (DAC) uses a resistor string in which a set of resistors are connected in series between two voltages to form a voltage divider in which the nodes that connect resistors form tap points that can be accessed to generate an output voltage. The tap points are selected using switches based on the value of a digital input signal (e.g., a digital word).

The basic resistor string DAC described above has several advantages. It is relatively simple to implement. The output linearity is dominated by the matching of resistor ratios (by appropriately selecting the resistors, the output of the DAC can be made to change linearly with the input). The resistor string DAC also provides a reasonable trade-off between power dissipation and speed. The output is also inherently monotonic.

The resistor string DAC suffers from a number of drawbacks that arise when the hardware required for constructing the DAC is scaled to increase the resolution of the DAC. For example, when the resolution is increased, the resistor count (and, hence, the required area for a given accuracy) increases exponentially. Additionally, the switch count also increases exponentially. Switches also contribute to area requirements, but more importantly, have parasitic capacitance that also increases along with the switch count.

Variations of the basic resistor string DAC have been proposed that purport to overcome some of the above mentioned disadvantages. One variation uses a technique known as segmentation, which divides the input word into several (typically two) sub-words of decreasing weight, thereby keeping the original resolution provided by the complete input word. The most significant sub-word is applied as input to a primary sub-DAC and the remaining sub-words are applied as input to one or more secondary sub-DACs. The outputs of the individual sub-DACs are combined to generate the analog output of the overall DAC. Specifically, the overall area is reduced by dividing the total resolution N into n sub-DACs of smaller resolution (N being the sum of the resolutions of the individual sub-DACs) and generating the analog output VOUT as the sum of n weighted analog voltages provided by the n sub-DACs.

FIG. 1 is a schematic of an architecture known as a buffered resistor string DAC, which includes a tap voltage generator 10, a tap selector 12 and an output stage 14. The tap voltage generator 10 includes a resistor string 15. The taps of the resistor string 15 can be selectively connected to a buffer in the output stage 14 to obtain a buffered analog representation VOUT of a digital input word dIN. The selective connection of the taps is performed by decoding the digital input word dIN at the tap selector 12. Typically, the buffer is an operational amplifier configured in non-inverting configuration with resistive negative feedback to accurately provide the desired gain G, as shown in FIG. 1.

The relationship between the gain resistors RF and RG that implement the negative feedback loop is:

RF/RG=G−1   (1)

In FIG. 1, because there is only one level of segmentation, the architecture is limited by the same disadvantages discussed above in connection with the basic resistor string DAC. That is, in order to increase the DAC resolution, it is necessary to add many resistors in series to the resistor string.

Several architectures using a voltage segmented DAC based on resistive strings have been proposed. The majority are based on interpolating the voltage drop across the elements of a coarse resistor string by coupling a fine resistor string between the terminals of such elements.

In U.S. Pat. No. 4,543,560 active buffers are used to couple a fine string to the elements of a coarse string without loading the coarse string. The non-idealities of the buffers placed between both resistor strings significantly deteriorate the dynamic performance and, potentially, the linearity of the output because of the offset of the buffers.

In U.S. Pat. No. 5,703,588 an interpolating resistor string DAC includes a current source and sink of appropriate values connected to the ends of the fine resistor string to eliminate its loading. This architecture not only requires resistors and current matching to obtain a competitive linearity, but also a particular relationship must be satisfied between the value of the currents and the resistors; hence, the implementation complexity is significantly increased. To generate the required current, an active buffer is used to force a voltage through a resistor which is conveniently sized, thus obtaining the desired current. The static non-idealities (especially the offset) of the buffer will cause an error in the current and, hence, nonlinearity at the output of the DAC.

In U.S. Pat. No. 5,969,657 an interpolating resistor string DAC does not include any circuitry to prevent the loading of the coarse string. By removing one of the elements of the fine resistor string, the loading of the coarse string is used, along with the impedance of the turned on coarse tap selection switches (which are sized to obtain a desired value) to obtain 1 LSB step when the coupled element of the coarse resistor string changes to the following element.

In the architecture described in U.S. Pat. No. 5,969,657 the linearity is dominated by the value of the switch-on impedance of the coarse tap selection switches. To obtain a reasonable margin for the variation of this parameter (that is sensitive to the voltage variation through the coarse resistor string, to process variations, and to temperature drift), a relatively big ratio between the elements of the coarse resistor string and the fine resistor string is required. The result is a fine resistor string with equivalent impedance much bigger than that of the elements of the coarse resistor string, in which the fine resistor string will be floating during code transitions. Consequently, a severely reduced fraction of the active current flows through the fine resistor string and the impact of the leakage current on the integral non-linearity (INL) is significant. This fact, in addition to the relatively big switch area required (which involves big parasitic capacitance), significantly deteriorates the dynamic performance (especially the glitch area).

In U. S. Pat. No. 6,914,547 a generalization of the architecture described above in connection with U.S. Pat. No. 5,969,657 is presented, where a third level of segmentation is introduced by the same technique. The advantages are the same as those featured by the previous architecture (with a greater area saving), but the disadvantages are significantly increased.

In U.S. Pat. No. 5,396,245 differential transconductance stages are used to add and amplify some coarse voltages and a fine voltage, but the DAC is restricted to two levels of segmentation. In this approach, matching between the transconductance of each stage is required.

In both U.S. Pat. Nos. 6,486,818 and 6,617,989 a coarse voltage and a fine current are added to generate the DAC output. In particular, a resistor string is used to form a first voltage that is essentially a coarse analog approximation of the most significant part of the digital input. A current proportional to the least significant part of the digital input is combined with the coarse voltage to generate the final output of the overall DAC. The implementations in these two patents can be viewed as an improvement over the basic buffered resistor string DAC in FIG. 1. Both patents only contemplate the combination of a coarse voltage with a single current and, hence, more than two levels of segmentation are not directly feasible without a performance tradeoff In addition, the preferred embodiments for generating the current in each of these patents include an array of matched current sources. These current sources are defined by a circuit which includes an active buffer. Any offset error introduced by this buffer will produce non-linearity.

SUMMARY

A segmented DAC in which a digital input dIN is an N-bit word divided into n>1 sub-words d(M), d(1) . . . d(n−1). The sub-words have respective lengths of M, B(1) . . . B(n−1), where N=M+B(1) . . . +B(n−1). Each division of the input word represents a level of segmentation; thus there are a total of n levels of segmentation.

The first level of segmentation is implemented by a primary sub-DAC which generates a voltage VM essentially proportional to d(M) and which is the analog representation of the most significant part of the input dIN.

The subsequent levels of segmentation are implemented by n−1 secondary sub-DACs which generate a corresponding set of n−1 independent currents I(1) . . . I(n−1). The magnitude of each of these currents is digitally controlled by an associated sub-word d(1) . . . d(n−1). The currents are scaled in accordance with a weighting scheme.

An output circuit combines the voltage VM with the scaled currents I(1) . . . I(n−1) to provide, at the output VOUT of the DAC, an analog representation of the digital input dIN.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a conventional resistor string DAC.

FIG. 2 is a block diagram of a DAC according to an embodiment of the present invention.

FIG. 3 is a detailed block diagram of a tap voltage generator used in a DAC according to an embodiment of the present invention.

FIG. 4 is a detailed block diagram of a portion of a sub-DAC used in a DAC according to an embodiment of the present invention.

FIG. 5 is a detailed block diagram of a DAC according to an embodiment of the present invention.

FIG. 6 is a detailed block diagram of a DAC according to an embodiment with three levels of segmentation.

DETAILED DESCRIPTION

The present invention relates to a segmented DAC in which the analog output is generated by combining a coarse voltage and a set of weighted currents, using at least two levels of segmentation.

The present invention also relates to a method and a corresponding circuit for generating the weighted currents. In one embodiment, each current is generated using a buffer connected in a negative feedback configuration.

The present invention also relates to a method and corresponding control logic for controlling the output of a set of secondary sub-DACs, the outputs of which are used for generating the weighted currents, so that each of the secondary sub-DACs always produces a non-zero current.

General Embodiment

FIG. 2 shows an example embodiment of a DAC 100 according to the present invention. The DAC 100 may include the following functional units: a tap voltage generator 20, a scaled current generator 22 and an output stage 24. An N-bit digital word dIN is divided into n>1 sub-words d(M), d(1) . . . d(n−1). The sub-words have respective lengths of M, B(1) . . . B(n−1), where N=M+B(1) . . . +B(n−1). Each division of the input word represents a level of segmentation, thus there are a total of n levels of segmentation. At least two levels of segmentation are used in each embodiment of the present invention. The first level corresponds to the M-bit sub-word d(M) and represents the most significant part of the digital input dIN.

In FIG. 2, d(M) is applied as input to an M-bit sub-DAC 21 to generate a tap voltage VM using a pair of reference voltages VREFH, VREFL. The voltage VM is an analog representation of d(M) and is connected to the non-inverting input of the output buffer 23, which is configured in non-inverting mode with a resistive negative feedback loop between its output and its inverting input. The output of the output buffer 23 is connected to the DAC output VOUT.

The voltage VM is given by:

$\begin{matrix} {{VM} = {{{d(M)} \cdot \frac{V_{REFH} - V_{REFL}}{2^{M}}} + V_{REFL}}} & (2) \end{matrix}$

In order to make VOUT an analog representation of the entire input dIN, the voltage VOUT is modified by the scaled current generator 22 to include the information associated with the remaining levels of segmentation. The modification is performed using a set of n−1 weighted current sources 27 that collectively inject n−1 independent currents I(1) . . . I(n−1) into n−1 respective nodes VX(1) . . . VX(n−1) of the resistor divider forming the feedback loop of the output buffer 23. The magnitudes of these currents are digitally controlled by respective sub-words d(1) . . . d(n−1). Each current source 27 forms part of a secondary sub-DAC that generates a current based on a respective sub-word.

Compared to FIG. 1, the single resistance RG is replaced with a set of resistances so that RG=RG(1)+ . . . +RG(n). The resulting generic transfer function is:

$\begin{matrix} {{VOUT} = {{\left( {1 + \frac{RF}{RG}} \right) \cdot {VM}} - {\frac{RF}{RG} \cdot \left\lbrack {{\left( {{{RG}(2)} + \ldots \; + {{RG}(n)}} \right) \cdot {I(1)}} + \ldots + {{{RG}(n)} \cdot {I\left( {n - 1} \right)}}} \right\rbrack}}} & (3) \end{matrix}$

From Equation 3 above, it can be seen that a scaling strategy can be implemented by forming a coarse portion of VOUT using the term (1+RF/RG)·VM and combining the coarse portion with weighted portions, e.g., subtracted from the coarse portion, where the weighted portions are provided by the currents I(1) . . . I(n−1). The coarse portion and the weighted portions are generated according to the sub-words of the digital input dIN and following a proper logic. Each current I(1) . . . I(n−1) is multiplied by a different weighting factor. Thus, the relative contribution of the sub-words to the overall output of the DAC can be easily modified. The weights may be assigned such that currents generated from less significant sub-words are scaled using lower weights than currents generated from more significant sub-words.

Injecting each current I(1) . . . I(n−1) into a respective node VX(1) . . . VX(n−1) as shown in FIG. 2 allows the injection points of the currents to be arranged so that the less the weight of the corresponding current (that is, the less significant the associated sub-word), the closer to ground is the node where the current is injected. This provides design advantages, which are explained below. In addition, placing the nodes VX(1) . . . VX(n−1) between the inverting input of the output buffer and ground provides sufficient headroom for the operation of the scaled current generator 22 over the entire input range of dIN, which increases the robustness of the architecture and simplifies the design of the scaled current generator 22. Injecting the currents I(1) . . . I(n−1) into other points of the feedback loop is also possible, but may not have the same headroom advantage.

In a preferred embodiment of the present invention, the scaled current generator 22 includes n−1 input voltages VI(1) . . . VI(n−1) that each controls a respective current source 27. The input voltages to the scaled current generator 22 may also include a reference voltage VR (shown in FIGS. 4 to 6). The different currents I(1) . . . I(n−1) may be generated by superimposing the voltage drop existing between a corresponding input voltage and the reference voltage VR across a corresponding resistor. The input voltages VI(1) . . . VI(n−1) are selected according to the associated sub-words d(1) . . . d(n−1), from the analog voltages provided by the tap voltage generator 20. According to the following discussion, the tap voltage generator 20 is the exclusive source of the voltages used for generating the currents. However, as explained below in the description of the tap voltage generator, additional tap voltage generators may be used in combination with the tap voltage generator 20. Assuming that only the tap voltage generator 20 is used, the following segmentation condition results:

M≧max{B(1), . . . , B(n−1)}  (4)

The implementations described in U.S. Pat. Nos. 6,486,818 and 6,617,989 may be considered a simplified version of the embodiment shown in FIG. 2, in which the current coming from the secondary sub-DACs is injected into a single point (node) and the levels of segmentation are limited to two. More than two levels of segmentation are not contemplated. However, even if the solutions in these patents were modified to include more than two levels of segmentation, the result would involve a significant performance tradeoff for the following reasons: injecting into a single point limits the ability to further increase DAC resolution despite the inclusion of additional levels of segmentation. The weight of the currents coming from the secondary sub-DACs and injected in the feedback loop of the output buffer is established in the overall DAC transfer function by a resistor ratio RX/RS. The resistor RX is, in general, the impedance between the node where the current is injected and ground, and the resistor RS is a weighting resistor in the circuitry where the magnitude of the current is generated. If all the currents are injected into the same point, the resistor RX is common for all of them and the weighting must be set by sizing the different resistors RS associated with each current. In such a case, the most significant secondary sub-DAC may have an undesirably high level of current in order to obtain the desired weight. Also, the least significant secondary sub-DAC may require a large RS in terms of absolute impedance (and hence, large area). Thus, it would be difficult to obtain a reasonable performance trade-off and the final solution would always be far from optimal. In contrast, the example embodiments of the present invention, by injecting the currents into different nodes, allow an optimum design in terms of current magnitudes and absolute impedances employed.

The above discussion referred to weighted sourcing currents. However, these currents need not be sourced currents. For example, in an alternative embodiment, the weighted currents may be sunk from the node in the resistor divider forming the feedback loop of the output buffer.

Tap Voltage Generator

FIG. 3 is a block diagram showing additional details of the tap voltage generator 20, which provides 2^(M) uniformly spaced analog voltages between the reference voltages VREFH and VREFL, where VREFH>VREFL. The tap voltage generator 20 may include a resistor string of 2^(M) resistive elements RM(1) . . . RM(2^(M)) that are essentially matched, thus providing 2^(M) uniformly spaced analog voltages VM(1) . . . VM(2^(M)) at the taps of the resistor string. To support a preferred decoding logic (described below), the tap voltage generator 20 may include an additional resistor RM(2^(M)+1) to generate one more tap voltage VM(2^(M)+1), thus providing 2^(M)+1 uniformly spaced analog voltages. A reference buffer 29 is configured in non-inverting mode, with VREFH applied at the non-inverting input, and the tap voltage VM(2^(M)) being applied to the inverting input.

Although the embodiments are described in connection with a single tap voltage generator 20 that generates all the voltages accessed by the tap selector 30, other embodiments may feature a plurality of tap voltage generators (e.g., one for each sub-DAC), each tap voltage generator outputting a respective portion of the voltages accessed by the tap selector 30.

Scaled Current Generator

FIG. 4 shows an example embodiment of a secondary sub-DAC 200 that processes a sub-word. Each secondary sub-DAC 200 is formed by a corresponding part 22A of the scaled current generator 22 and a corresponding part 30A of the tap selector 30. The components in FIG. 4 generate a single current I(i) based on an input voltage VI(i) and the reference voltage VR. The current I(i) represents any one of the currents that are injected into a corresponding node VX(i) of the feedback loop in the output stage 24. To achieve sufficient headroom for robust operation of the scaled current generator 22, the input voltage VI(i) may have a minimum value VI(i)min. Therefore, in embodiments in which the tap voltage generator 20 is capable of providing voltages below the minimum value, only a subset of taps may be employed and the resolution of the associated sub-DAC would therefore be less than the resolution of the resistor string (which matches the resolution M of the main level of segmentation). In practice, designing all the sub-DACs with a resolution M−1 is sufficient, although less resolution in the sub-DACs can be used if required.

In practice, the reference voltage VR must be buffered. It is possible to use VREFH as VR, since VREFH is typically already buffered. However, directly applying VREFH to generate the currents can produce a transient variation in the active current flowing through the resistor string of the tap voltage generator 20 during input code transitions and potentially worsens the glitch area. To avoid this effect, a dedicated buffer may be used. For example, in FIG. 6 the reference voltage VR corresponds to one of the voltages available at the tap voltage generator 20, and is buffered using a buffer OAR (hence, VR≦VREFH). In an alternative embodiment, each current may be generated using a different reference voltage. However, this would require buffering more than one voltage.

In FIG. 4, a sub-word d(i), which represents any one of the sub-words d(1) . . . d(n−1), is applied as input to an i-th secondary decoder 37A. If the resolution of the sub-DAC is B(i) (as is the case in FIG. 4) and the reference voltage used for current generation is a tap VM(R) of the tap voltage generator (i.e., VR=VM(R)≦VREFH), then the input range associated with the input voltage VI(i) comprises consecutive tap voltages VM(R−1) to VM(R−2^(B(i))). If the generated current I(i) is injected into the node VX(i), the following condition should be satisfied by a reasonable margin to provide robust operation of the scaled current generator 22:

VX(i)<VI(i)min=VM(R−2B(i))   (5)

In FIG. 4, VI(i) is generated by selectively connecting an analog voltage from the tap voltage generator portion 30A to the non-inverting input of a buffer OA(i) in a scaled current generator cell 22A. The buffer OA(i) is an operational amplifier in negative feedback configuration, which drives an MOS transistor (e.g., a single PMOS transistor, although other types of transistors or transistor combinations may also be used) to generate a current I(i) by superimposing the voltage drop VR−V(i) across a weighting resistor R(i). Hence, the generated current I(i) can be expressed as:

$\begin{matrix} {{I(i)} = \frac{{d(i)} \cdot \frac{{VREFH} - {VREFL}}{2^{M}}}{R(i)}} & (6) \end{matrix}$

The selection of which voltage to connect to form VI(i) is made by the i-th secondary decoder 37A in response to the input sub-word d(i), by controlling an array of switches using a control signal Ci.

The basic cell structure of FIG. 4 may be replicated to generate the n−1 currents provided by the secondary sub-DACs. In this manner, each current is independently generated and an optimum current range can be simultaneously designed for each segmentation level.

The weight of I(i) can be established using the resistor ratio (RG(i)+RG(i+1) . . . +RG(n))/R(i), where the sum (RG(i)+RG(i +1) . . . +RG(n)) is the impedance between the node where I(i) is injected and ground, as Equations 3 and 6 show. Consequently, injecting each current into a different node of the feedback loop, in combination with using decreasing weights for the associated sub-words as the nodes progress towards ground, allows the weighting to be implemented with less absolute impedance (thus saving area and reducing thermal noise).

The example scaled current generator cell 22A of FIG. 4 provides several advantages compared to conventional approaches: (1) The deadbands of the employed buffers OA(i) do not influence the linearity because they are driving the gate of an MOS transistor M(i) and, hence, the required output swing can be easily achieved through proper design of the output stage of such buffers. (2) The gain error of the buffer OA(i) does not influence the linearity because of the use of negative feedback, provided that the open-loop gain and the common-mode-rejection-ratio of the buffer is big enough. (3) The offset error and the noise of the buffer OA(i), as well as any input-referred noise, are all attenuated at the DAC output VOUT due to the weighting of the currents injected into the feedback loop.

Overview of the General Embodiment

FIG. 5 is a block diagram showing additional details of the DAC 100 from FIG. 2. In addition to the tap voltage generator 20, the scaled current generator 22, and the output stage 24, the DAC 100 may include a circuit 30 referred to herein as a tap selector, which is used to connect the voltages available at the taps of the tap voltage generator 20 to the sub-DACs to generate VOUT in response to dIN. The voltages VM(R−1) to VM(R−2^(B(i))) are a subset of the tap voltage generator 20 outputs VM(2^(M)+1) to VM(1). Only one tap is simultaneously connected to each sub-DAC. Thus one of the voltages VM(2^(M)+1) to VM(1) is selected for connection to the primary sub-DAC (e.g., M-bit DAC 21 in FIG. 2) and n−1 voltages are selected from the subset VM(R−1) to VM(R−2^(B(i))) for connection to the secondary sub-DACs (e.g., n−1 instances of the sub-DAC 200 shown in FIG. 4). The selection follows a decoding logic and the tap selector 30 may be implemented as an array of switches for each sub-DAC, the switches being opened or closed based on control signals (Ci in FIG. 4, CM and C(N−1) to C(1) in FIG. 5) generated by a dedicated decoder in each sub-DAC. The switch arrays are collectively represented as a switching unit 35 and the dedicated decoders are collectively represented as a decoder unit 37. As an alternative to having separate decoders, a shared decoder may generate the control signals. Therefore, in an alternative embodiment, the decoder unit 37 may be implemented as a single decoder.

The tap selector 30 outputs the voltage VM to the output stage 24. There, VM is combined with the currents I(1) . . . I(n−1), which are generated by the scaled current generator 22 in response to the input voltages VI(1) . . . VI(n−1) output by the tap selector 30. As previously discussed, VM is an analog representation of the most significant part of dIN, while the remaining part of dIN is represented by the combination of VI(1) . . . VI(n−1) affected by their respective weighting factors. Thus, combining VM with I(1) . . . I(n−1) produces VOUT as the analog representation of dIN.

Specific Embodiment

For illustration purposes, a specific embodiment of the DAC 100 is shown in FIG. 6, where the number of segmentation levels is n=3 and the total resolution is N bits. The decoding logic (see Tables 1 to 3) and the design conditions to size the weighting factors in the transfer function (see Equations 13 to 15) are discussed below, and can be extended to any n>1.

If n=3, the digital input is divided into three sub-words dM, dP and dL with respective lengths of M, P and L, where N=M+P +L. A sub-DAC is provided for each sub-word: a Most Significant Bit (MSB) sub-DAC, a Partially Significant Bit (PSB) sub-DAC, and a Least Significant Bit (LSB) sub-DAC.

Applying Equation 3, the transfer function in this case becomes, where RG=RG(1)+RG(2)+RG(3):

$\begin{matrix} {{VOUT} = {{\left( {1 - \frac{RF}{RG}} \right) \cdot {VM}} - {\frac{RF}{RG}\left\lbrack {{\left( {{{RG}(2)} + {{RG}(3)}} \right) \cdot {IP}} + {{{RG}(3)} \cdot {IL}}} \right\rbrack}}} & (7) \end{matrix}$

The Least Significant Bit (LSB) voltage is:

$\begin{matrix} {{VLBS} = \frac{{VREFH} - {VREFL}}{2^{N}}} & (8) \end{matrix}$

The currents IP and IL from the secondary sub-DACs can be expressed as:

$\begin{matrix} {{IP} = \frac{{dP} \cdot 2^{P + L} \cdot {VLBS}}{RP}} & (9) \\ {{IL} = \frac{d\; {L \cdot 2^{P + L} \cdot {VLBS}}}{RL}} & (10) \end{matrix}$

VM is given by:

VM=dM˜VLSB+VREFL   (11)

From the previous equations, the desired transfer function can be expressed as (where G is the closed-loop gain of the Output Buffer):

VM=G·(dM·2^(P+L) ·VLSB−dP·2^(L) ·VLSB−dL·VLSB+VREFL)   (12)

Consequently, comparing Equations 7 and 12 (taking into account Equations 9, 10 and 11), the following design relations arise to get the desired transfer function:

$\begin{matrix} {\frac{RF}{{{RG}(1)} + {{RG}(2)} + {{RG}(3)}} = {G - 1}} & (13) \\ {{RP} = {\frac{\left( {G - 1} \right) \cdot \left( {{{RG}(2)} + {{RG}(3)}} \right)}{G} \cdot 2^{P}}} & (14) \\ {{RL} = {\frac{\left( {G - 1} \right) \cdot {{RG}(3)}}{G} \cdot 2^{P + L}}} & (15) \end{matrix}$

A conventional binary decoding scheme may be used to perform the decoding.

However, conventional decodings allow the analog currents generated by the scaled current generator 22 to be zero for certain dIN values. This is undesirable because if the active current is zero (or close to zero), the leakage current and the offset associated with the circuitry of the scaled current generator 22 may cause non-linearity. Providing a minimum level for the active current signals for all potential dIN values advantageously removes these sources of inaccuracy. This can be implemented by adapting the decoding logic according to the truth tables below for the particular case where n=3, with the resulting logic being extendible to any n>1.

The decoding logic for the LSB sub-DAC maps potential dL values (where dL=dIN[L−1] to dIN[0]) to a corresponding digital control signal CL to connect VL to a tap point VM(i) as indicated in the truth table below:

TABLE 1 LSB truth table (3 levels of segmentation) dIN dIN dIN dIN dIN [L − 1] [L − 2] [L − 3: 2] [1] [0] VL = VM(i) 0 0 0 . . . 0 0 0 VM(R − 2^(L)) 0 0 0 . . . 0 0 1 VM(R − 2^(L) + 1) X X X . . . X X X . . . 1 1 1 . . . 1 1 0 VM(R − 2) 1 1 1 . . . 1 1 1 VM(R − 1)

The decoding logic for the PSB (Partially Significant Bit) sub-DAC maps potential dP values (where dP=dIN[P+L−1] to dIN[L]) to a corresponding digital control signal CP to connect VP to a tap point VM(i) as indicated in the truth table below:

TABLE 2 PSB truth table (3 levels of segmentation) dIN dIN dIN [P + [P + [P + L − 3: dIN dIN L − 1] L − 2] L + 2] [L + 1] [L] VP = VM(i) 0 0 0 . . . 0 0 0 VM(R − 2^(P) + 1) 0 0 0 . . . 0 0 1 VM(R − 2^(P) + 2) X X X . . . X X X . . . 1 1 1 . . . 1 1 0 VM(R − 1) 1 1 1 . . . 1 1 1 VM(R − 2^(P))

Finally, the MSB sub-DAC maps potential dM values (where dM=dIN[N−1] to dIN[P +L−1: L]) to a corresponding digital control signal CM to connect VM to a tap point VM(i) as indicated in the truth table below:

TABLE 3 MSB truth table (3 levels of segmentation) dIN dIN dIN dIN [N − 1] [N − 2: P + L + 1] [P + L] [P + L − 1: L] VM = VM(i) 0 0 . . . 0 0 0 . . . 0 VM(1) 0 0 . . . 0 0 X . . . X VM(1) 0 0 . . . 0 0 1 . . . 10 VM(1) 0 0 . . . 0 0 1 . . . 1 VM(2) 0 0 . . . 0 1 0 . . . 0 VM(2) X X X X . . . X . . . 1 1 . . . 1 1 1 VM(2^(M) + 1)

Applying the truth tables from above, each voltage drop VM(i)−VM(i−1) between two consecutive taps of the tap voltage generator 20 is subdivided 2^(P) times and, each of the resulting subdivisions is further divided 2^(L) times. To interpolate into the last subdivision among the 2^(P) subdivisions of VM(i)−VM(i−1), the analog current IP produced by the PSB sub-DAC should be zero. However, as explained above, zero current is undesirable. To avoid this, the following tap VM(i+1) is connected to VM so that instead of IP=0, the maximum possible IP is injected (representing 2^(P) subdivisions of any VM(i)−VM(i−1)) and, hence, VOUT is the same with IP being non-zero.

For similar reasons, according to Table 2, VP=VM(R−2^(P)) for dP=1 . . . 1. Similarly, an additional tap VM(2^(M)+1) with respect to the taps typically available in a regular resistor string is required, as shown in Table 3 and FIG. 3.

The described embodiments of the present invention provide the following advantages: the linearity is exclusively dominated by resistors ratios, there is a design independency between accuracy and dynamic performance (once the number of segmentation levels has been established) and more than two levels of segmentation are feasible without incurring a performance tradeoff As a result, the static and dynamic performances of the DAC 100 can be optimized independently.

The output VOUT provided by the described embodiments is not inherently monotonic. However, since the linearity only depends on resistor matching, achieving enough accuracy to obtain a reasonable Differential Non-Linearity (DNL) and, in particular, monotonicity (DNL>−1 LSB) is feasible. Therefore, the aforementioned advantages, together with the capability of using resistor matching to achieve a substantially monotonic output, makes the invention attractive for implementing integrated DACs.

Additional Embodiments

The DAC 100 described above may be used in other ways without departing from the spirit of the present invention.

In FIG. 5, the voltage VM is the output of the main sub-DAC and it is connected to the output stage, as discussed above. In another embodiment of the DAC 100, the scaled current generator 22 and the tap selector 30 can be modified so that the digital input is only applied to the secondary sub-DACs, with the main sub-DAC being used to generate the voltage VM as a reference voltage that is independent of the digital input (that is, VM can be a substantially fixed potential). The digital input information would be managed by the scaled current generator 22 to perform the corresponding digital-to-analog conversion by adding a substantially fixed voltage (VM) to a set of weighted currents generated based on the digital input. This embodiment may provide improved dynamic performance for some applications.

In another embodiment the DAC 100 may be used as a sub-DAC to support the operation of a more complex DAC, which may include a plurality of sub-DACs. These sub-DACs may include identical copies of the DAC 100 or include other types of DACs. In such a case, the DAC 100 does not provide the overall output of the resulting DAC, but an intermediate signal.

In another embodiment, the DAC 100 may form a stage in a multi-stage circuit and the output voltage VOUT provided by the DAC 100 may be interfaced to a subsequent stage to modify the nature of VOUT and, thus, form a system that generates an output signal based on VOUT. In the resulting system, the DAC 100 may perform the core digital-to-analog conversion and the subsequent stage can be designed to produce the desired modification of VOUT. For instance, the overall output may be a current or other electric signal instead of a voltage. Additionally or alternatively, the mathematical relationship between the overall output and the digital input word dIN may be different from that between VOUT and dIN.

In the embodiments described above, the typical linear digital-to-analog conversion was assumed to be the desired transfer function of the DAC 100. However, the DAC 100 can be adapted to provide other transfer functions without departing from the spirit of the present invention. This can be accomplished by properly modifying the decoding logic of the tap selector 30, and/or the weighting factors of the currents generated by the scaled current generator 22, and/or the distribution of the tap voltages provided by the tap voltage generator 20.

As it is known in the art, several digital coding systems exist which may be used to generate the input word, and the decoding logic of the DAC 100 may be adapted to handle input words generated by any of the coding systems.

In the preceding specification, the present invention has been described with reference to specific example embodiments thereof. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the present invention as set forth in the claims that follow. For example, tap voltage generators that generate voltages using circuits other than a resistor string may be used. The embodiments described herein may be presented combined with each other in various combinations. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense. 

What is claimed is:
 1. A digital-to-analog converter (DAC), comprising: a circuit that receives a digital input; a circuit that generates at least one weighted current in response to the digital input; and an output stage that combines a first voltage with at least one weighted current to generate an output signal that is an analog approximation of the digital input.
 2. The DAC of claim 1, wherein the DAC divides the digital input into a plurality of sub-words and generates the first voltage as an analog approximation of a most significant one of the sub-words.
 3. The DAC of claim 2, wherein each current is generated based on a respective one of the remaining sub-words.
 4. The DAC of claim 3, wherein: the at least one weighted current includes a plurality of currents; and currents generated based on less significant sub-words are assigned lower weights compared to currents generated based on more significant sub-words.
 5. The DAC of claim 3, wherein: the at least one weighted current includes a plurality of currents; the output stage includes an operational amplifier in non-inverting configuration with a feedback formed by a resistor string connected between the output signal and ground; and each current is connected to a respective node in the resistor string.
 6. The DAC of claim 5, wherein currents generated based on less significant sub-words are connected to nodes that are located closer to ground compared to currents generated based on more significant sub-words.
 7. The DAC of claim 1, wherein each current is produced by a respective operational amplifier that drives a transistor.
 8. The DAC of claim 7, further comprising a respective resistor connecting a source terminal of each transistor to at least one reference voltage.
 9. The DAC of claim 8, wherein the at least one reference voltage is connected to each resistor through a buffer.
 10. The DAC of claim 8, wherein: each operational amplifier is configured in non-inverting mode with an inverting input of the operational amplifier connected to the source terminal of each transistor; and a voltage selected as a function of a respective sub-word is applied to a non-inverting input of each operational amplifier.
 11. The DAC of claim 10, further comprising a decoder that connects each selected voltage to a respective operational amplifier in response to decoding the sub-words.
 12. The DAC of claim 10, further comprising: a tap voltage generator outputting each selected voltage; and a switching unit that switchably connects each selected voltage to the non-inverting input of a respective operational amplifier.
 13. The DAC of claim 1, wherein the DAC is configured so that the currents are non-zero for all possible values of the digital input.
 14. The DAC of claim 1, wherein the output signal is a substantially monotonic function of the digital input.
 15. A scaled current generator, comprising: at least one current source that outputs a weighted current corresponding to a respective lesser significant sub-word of a digital input of a digital-to-analog converter (DAC) in which the digital input is divided into a most significant sub-word and at least one lesser significant sub-word.
 16. The scaled current generator of claim 15, wherein: the digital input is divided into a plurality of lesser significant sub-words; and currents generated based on less significant sub-words are assigned lower weights compared to currents generated based on more significant sub-words.
 17. The scaled current generator of claim 15, wherein each current is produced by a respective operational amplifier that drives a transistor.
 18. The scaled current generator of claim 17, wherein: each current is produced by a respective operational amplifier configured in non-inverting mode with an inverting input of the operational amplifier connected to a source terminal of the transistor and to a resistor connected to a reference voltage; and a voltage selected as a function of a respective sub-word is applied to a non-inverting input of each operational amplifier.
 19. The scaled current generator of claim 15, wherein the currents are non-zero for all possible values of the digital input.
 20. A digital-to-analog converter (DAC), comprising: at least one tap voltage generator that generates a plurality of voltages; a decoder that decodes at least one sub-word that forms a lesser significant portion of a digital input of the DAC to generate a corresponding at least one control signal, wherein the digital input is divided by the DAC into a most significant portion and the lesser significant portion; a switching unit that accesses voltages generated by the at least one tap voltage generator in response to the at least one control signal; a scaled current generator that generates a respective weighted current from each accessed voltage; and an output stage that combines all the weighted currents with a voltage that is an analog representation of the most significant portion of the digital input to generate an analog approximation of the entire digital input.
 21. A digital-to-analog converter (DAC), comprising: a plurality of sub-DACs, each of which processes a respective portion of a digital input, outputs of the sub-DACs being combined to generate an output signal that is an analog approximation of the digital input; wherein at least one of the sub-DACs includes an output stage that combines a first voltage with at least one weighted current to generate, as the output of the sub-DAC, a voltage that is an analog approximation of the respective portion of the digital input. 